7.1. Representations and Java Types 表示与 Java 类型

    还涵盖其他情况下,处理 non-String(非文本)数据,例如处理数据存储在文件系统,等等, JAX-RS 实现也需要支持其他类型的媒体类型转换,non-String(非文本),Java 类型都得到了利用。下面是一个简短的清单,开箱即用的支持 Java 类型的媒体类型:

    • 所有媒体类型 (/)
      • byte[]
      • java.lang.String
      • java.io.Reader (inbound only)
      • java.io.File
      • javax.activation.DataSource
    • XML 媒体类型 (text/xml, application/xml and application/…+xml)
      • javax.xml.transform.Source
      • javax.xml.bind.JAXBElement
      • 应用了 JAXB 类的应用 (使用了 @XmlRootElement 或者 的类型)
    • Form 表单内容 (application/x-www-form-urlencoded)
      • MultivaluedMap

    产生的表示对应于资源方法返回的是什么。例如 JAX-RS 使它简单的产生例图像文件实例,如下:

    文件类型同样适用于消耗一个表示(请求实体)。在这种情况下,临时文件将从传入的请求实体创建,并且作为参数传给资源的方法。

    1. @Produces({"application/xml", "application/json"})

    如果 application/xml 是最可接受的媒体类型定义在请求中(例如,如头 Accept: application/xml),则 响应头 Content-Type 将被设为